German Patent No. 44 16 881 describes a method of processing data, where homogeneously arranged cells which can be configured freely in function and interconnection are used.
Independently of the above-mentioned patent, field programmable gate array (FPGA) units are being used to an increasing extent to assemble arithmetic and logic units and data processing systems from a plurality of logic cells.
Another known method is to assemble data processing systems from fixed program-controlled arithmetic and logic units with largely fixed interconnection, referred to as systolic processors.
Problems
Units Described in German Patent No. 44 16 881
Units described in German Patent No. 44 16 881 (referred to below as “VPUs”) are very complicated to configure owing to the large number of logic cells. To control one logic cell, several control bits must be specified in a static memory (SRAM). There is one SRAM address for each logic cell. The number of SRAM cells to be configured is very large, thus, a great deal of space and time is needed for configuring and reconfiguring such a unit. The great amount of space required is problematical because the processing power of a VPU increases with an increase in the number of cells, and the area of a unit that can be used is limited by chip manufacturing technologies. The price of a chip increases approximately proportionally to the square of the chip area. It is impossible to broadcast data to multiple receivers simultaneously because of the repeated next-neighbor interconnection architecture. If VPUs are to be reconfigured on site, it is absolutely essential to achieve short reconfiguration times. However, the large volume of configuration data required to reconfigure a chip stands in the way of this. There is no possibility of separating cells from the power supply or having them cycle more slowly to minimize the power loss.
FPGAs
FPGAs for the use in the area described here usually include multiplexers or look-up table (LUT) architectures. SRAM cells are used for implementation. Because of the plurality of small SRAM cells, they are very complicated to configure. Large volumes of data are required, necessitating a comparably large amount of time for configuration and reconfiguration. SRAM cells take up a great deal of space, and the usable area of a unit is limited by the chip manufacturing technologies. Here again, the price increases approximately proportionally to the square of the chip area. SRAM-based technology is slower than directly integrated logic due to the SRAM access time. Although many FPGAs are based on bus architectures, there is no possibility of broadcasting for rapid and effective transmission of data to multiple receivers simultaneously. If FPGAs are to be reconfigured at run time, it is absolutely essential to achieve short configuration times. However, the large volume of configuration data required stands in the way. FPGAs do not offer any support for reasonable reconfiguration at run time. The programmer must ensure that the process takes place properly without interfering effects on data and surrounding logic. There is no intelligent logic to minimize power loss. There are no special function units to permit feedback on the internal operating states to the logic controlling the FPGA.
Systolic Processors
Reconfiguration is completely eliminated with systolic processors, but these processors are not flexible because of their rigid internal architecture. Commands are decoded anew in each cycle. As described above, there are no functions which include broadcasting or efficient minimization of power loss.